﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using Uricao.Entidades.EEntidad;
using Uricao.Entidades.EHistoriaPaciente;
using Uricao.Entidades.ERolesUsuarios;

namespace Uricao.PruebasUnitarias.PHistoriaClinica
{
    [TestFixture]
    public class PruebaHistoriaClinica
    {
        [Test]
        public void PruebaConstructor()
        {
            Entidad _historia = new HistoriaClinica();
            Assert.IsNotNull(_historia);
            Assert.IsNotNull((_historia as HistoriaClinica));
            Assert.IsTrue(_historia.Equals((_historia as HistoriaClinica)));
        }

        [Test]
        public void PruebaEncapsulamientoNumeroHistoria()
        {
            Entidad _historia = new HistoriaClinica();
            (_historia as HistoriaClinica).NumeroHistoria = 1;
            Assert.IsTrue((_historia as HistoriaClinica).NumeroHistoria.Equals(1));
        }

        [Test]
        public void PruebaEncapsulamientoFechaIngreso()
        {
            Entidad _historia = new HistoriaClinica();
            DateTime _fecha = Convert.ToDateTime("10/08/1988");
            (_historia as HistoriaClinica).FechaIngreso = _fecha;
            Assert.IsTrue((_historia as HistoriaClinica).FechaIngreso.Equals(_fecha));
        }

        [Test]
        public void PruebaEncapsulamientoPaciente()
        {
            Entidad _historia = new HistoriaClinica();
            Entidad _cliente = new Cliente();
            (_historia as HistoriaClinica).Paciente = (_cliente as Cliente);
            Assert.IsTrue((_historia as HistoriaClinica).Paciente.Equals((_cliente as Cliente)));
        }

        [Test]
        public void PruebaEncapsulamientoObservacion()
        {
            Entidad _historia = new HistoriaClinica();
            (_historia as HistoriaClinica).Observacion = "observacion";
            Assert.IsTrue((_historia as HistoriaClinica).Observacion.Equals("observacion"));
        }

        [Test]
        public void PruebaEncapsulamientoListaDetalleSecuencia()
        {
            Entidad _historia = new HistoriaClinica();
            List<Entidad> _listaDetalleSecuencia = new List<Entidad>();
            Entidad secuencia = new DetalleSecuencia();
            _listaDetalleSecuencia.Add((secuencia as DetalleSecuencia));
            (_historia as HistoriaClinica).ListaDetalleSecuencia = _listaDetalleSecuencia;
            Assert.IsTrue(_listaDetalleSecuencia.Count > 0);
            CollectionAssert.AreEqual(_listaDetalleSecuencia,(_historia as HistoriaClinica).ListaDetalleSecuencia);
        }

        [Test]
        public void PruebaEncapsulamientoListaAntecedente()
        {
            Entidad _historia = new HistoriaClinica();
            List<Entidad> _listaAntecedente = new List<Entidad>();
            Entidad antecedente = new Antecedente();
            _listaAntecedente.Add((antecedente as Antecedente));
            (_historia as HistoriaClinica).ListaAntecedente = _listaAntecedente;
            Assert.IsTrue(_listaAntecedente.Count > 0);
            CollectionAssert.AreEqual(_listaAntecedente, (_historia as HistoriaClinica).ListaAntecedente);
        }

        [Test]
        public void PruebaEncapsulamientoEstado()
        {
            Entidad _historia = new HistoriaClinica();
            (_historia as HistoriaClinica).Estado = "inactivo";
            Assert.IsTrue((_historia as HistoriaClinica).Estado == "inactivo");
        }


    }
}